import Element = React.JSX.Element;

export interface cardComponentInterface {
    text: string,
    imageUrl: string,
    url: string
}

/**
 * 可编辑人接口
 *
 * @interface initiatorUserInterface
 * @property {string} id 用户的唯一标识符
 * @property {string} name 用户的显示名称
 */
export interface initiatorUserInterface {
    id: string,
    name: string
}

/**
 * 表单接口
 *
 * @interface formInterface
 * @property {string} id 表单唯一标识
 * @property {string} name 表单名称
 * @property {string} icon 表单图片
 * @property {Array<initiatorUserInterface>} initiator_group 可编辑者数组
 * @property {Date} publish_date 发布时间
 * @property {string} publisher_id 发布者id
 * @property {Date} updated_date 更新时间
 * @property {string} updated_id 更新人ID
 * @property {string} state 状态
 */
export interface formInterface {
    id: string,
    name: string,
    icon: string,
    initiator_group: Array<initiatorUserInterface>,
    publish_date: Date,
    publisher_id: string,
    updated_date: Date,
    updated_id: string,
    state: string
}

/**
 * 表单组接口
 *
 * @interface formInterface
 * @property {string} id 表单组唯一标识
 * @property {string} name 表单组名称
 * @property {number} total 表单数量
 * @property {Array<formInterface>} child 表单
 */
export interface formGroupInterface {
    id: string,
    name: string,
    total: number,
    child: Array<formInterface>,
}


export interface StepsInterface {
    title: string;
    key: number;
    content: Element;
}

export interface StepItemInterface {
    title: string;
    key: number | string;
}

export interface BaseInfoInterface {
    name: string;
    group_id: string;
    remark: string;
    publisher: string[];
    administrators: string[];
}

export interface BaseInfoProps {
    value: BaseInfoInterface;
    onChange: (values: BaseInfoInterface) => void;
}

